#include <stdio.h>

void Swap(int *p1,int*p2)
{
	int tmp=*p1;
	*p1=*p2;
	*p2=tmp;
	
}
void Print(int*a,int n)
{
	for(int i=0;i<n;i++)
		{
			printf("%d ",a[i]);
		}
	printf("\n");
}

void InserSort(int *a,int n)
{
	
	for (int i = 0; i < n-1; i++)//他是从第二个元素开始交换的
	{
		int began = i;
		int end = began + 1;
		int tmp=a[end];
		while(end>0)
			{
				if(a[began]>tmp)//判断end前面的数据是不是比他大一直找到比他小的
				{
					a[began+1]=a[began];//大于待排序的数据就交换
					began--;
				}
				else
					{
						break;
					}
			}
		Swap(&a[began+1],&tmp);
	}
}
int main(int argc, char *argv[])
{
	int arr[]={54,38,96,23,15,72,60,45,83};
	Print(arr,sizeof(arr)/sizeof(arr[0]));
	InserSort(arr,sizeof(arr)/sizeof(arr[0]));
	Print(arr,sizeof(arr)/sizeof(arr[0]));
	
	
}